1b6138549093feebcaf1378256e4bc23b3520bbc,sketches/src/main/java/com/yahoo/sketches/theta/DirectCompactOrderedSketch.java,DirectCompactOrderedSketch,wrapInstance,#Memory#number#number#,50

Before Change


    final Object memObj = srcMem.array(); //may be null
    final long memAdd = srcMem.getCumulativeOffset(0L);

    final int preLongs = extractPreLongs(memObj, memAdd);
    final int flags = extractFlags(memObj, memAdd);
    final boolean empty = (flags & EMPTY_FLAG_MASK) > 0;
    final short memSeedHash = (short) extractSeedHash(memObj, memAdd);
    final short computedSeedHash = computeSeedHash(seed);
    checkSeedHashes(memSeedHash, computedSeedHash);
    final int curCount = (preLongs > 1) ? extractCurCount(memObj, memAdd) : 0;

After Change


    final short memSeedHash;
    final int curCount;
    final long thetaLong;
    if (srcMem.isReadOnly() && !srcMem.isDirect()) {
      preLongs = srcMem.getByte(PREAMBLE_LONGS_BYTE) & 0X3F;
      flags = srcMem.getByte(FLAGS_BYTE) & 0XFF;
      memSeedHash = srcMem.getShort(SEED_HASH_SHORT);
      curCount = (preLongs > 1) ? srcMem.getInt(RETAINED_ENTRIES_INT) : 0;
      thetaLong = (preLongs > 2) ? srcMem.getLong(THETA_LONG) : Long.MAX_VALUE;
    } else {
      final Object memObj = srcMem.array(); //may be null
      final long memAdd = srcMem.getCumulativeOffset(0L);
      preLongs = extractPreLongs(memObj, memAdd);
      flags = extractFlags(memObj, memAdd);
      memSeedHash = (short) extractSeedHash(memObj, memAdd);
      curCount = (preLongs > 1) ? extractCurCount(memObj, memAdd) : 0;
      thetaLong = (preLongs > 2) ? extractThetaLong(memObj, memAdd) : Long.MAX_VALUE;
    }